草庐IT

Java Parallel Streams 关闭线程

全部标签

windows - 程序完成执行后的线程状态

主线程执行完毕后,内部线程会发生什么?例如:程序1创建5个线程在后台运行。程序1崩溃。这些线程还活着吗?他们会因为线程绑定(bind)在进程上下文中而被杀死吗? 最佳答案 所有这些资源都链接到流程数据结构。当进程终止时,Windows确保清理所有资源。没有设法找到对文档的引用[请随意添加一些,我确信我在M.Russinovich的“WindowsInternals”一书中读到了这篇文章],但这里有几个关于内存释放的类似答案。线程清理是进程终止时Windows调用的清理例程的一部分。https://stackoverflow.com/

python - 如何使用计时器关闭带有 python 2.7 的 Windows 8

我正在做一个小项目来学习更多关于python2.7的知识。我制作了一个关机计时器,我设置了所有GUI,我只需要关闭Windows8的命令。cmd命令是:shutdown/txxx。我尝试了以下方法:importsubprocesstime=10subprocess.call(["shutdown.exe","/t","time"])importostime=10os.system("shutdown/t%s"%str(time))两者都不行。感谢任何帮助,我使用的是Windows8,所以我认为Windows7的解决方案是不同的。感谢您的回答,这是我制作的关机计时器:https://gi

c++ - 在不同的线程上解除分配 BSTR 是否安全?

如果我在一个线程上调用一个返回BSTR的COM方法,那么从另一个线程?COM调用完成后,我将不再在第一个线程上使用BSTR,因此应该不会有任何并发​​问题。但是考虑到COM与线程的关系,我不确定SysFreeString()是否依赖于在同一线程上分配的BSTR。示例代码:BSTRvalue=nullptr;HRESULThr=pComObject->DoSomething(&value);if(FAILED(hr)){returnhr;}std::threadt([value]{//dosomethingwithvalueSysFreeString(value);});t.detach

c++ - 加载的 OpenGL 函数是上下文特定的还是线程特定的? ( Windows )

考虑一个场景,其中2个渲染上下文(每个都属于它们自己不同的窗口)存在于2个独立的执行线程中。OpenGL函数指针是否需要分别加载和使用?或者gl*函数指针可以是全局的,只为给定的应用程序实例加载一次并由两个窗口或上下文使用吗?我问的原因是因为OpenGLFunctionLoadingDocs,在谈到加载wgl函数时,指出:ThisfunctiononlyworksinthepresenceofavalidOpenGLcontext.Indeed,thefunctionpointersitreturnsarethemselvescontext-specific.TheWindowsdoc

windows - 关闭硬盘

如何关闭硬盘?我想这样做是为了能够安全地移除我的sata驱动器,即使它是热插拔的。WMI好像没有这个方法。 最佳答案 没有任何弹出对话框的解决方案:就用sync来自cygwin(同步是来自coreutils的实用程序) 关于windows-关闭硬盘,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/817086/

windows - 多线程:事件驱动与消息驱动

用win32事件对象(CreateEvent)或线程窗口消息队列开发多线程时,性能有差异吗?两者都应该使用某种WaitFor...调用。我自己的代码几乎完全基于事件,但如果不使用消息,我可能会丢失一些东西。 最佳答案 如果您担心线程消息和内核事件之间的性能差异,那么您可能不应该使用线程消息。Win32线程消息队列是一种最初为Windows16开发的机制——当时还没有线程。它们已经发展到可以处理Win32的线程模型,但在幕后它们是相当复杂的野兽。这有利也有弊。缺点是,很简单,它们比其他形式的线程间同步和通信更慢,并且有更多限制。对于初

windows - 设备驱动程序 IRQL 和线程/上下文切换

我是Windows设备驱动程序编程的新手。我知道某些操作只能在IRQLPASSIVE_LEVEL执行。例如,Microsoft有关于如何从内核驱动程序写入文件的示例代码:if(KeGetCurrentIrql()!=PASSIVE_LEVEL)returnSTATUS_INVALID_DEVICE_STATE;Status=ZwCreateFile(...);我的问题是:是什么阻止了在上面的KeGetCurrentIrql()检查之后引发IRQL?假设发生上下文或线程切换,当它返回到我的驱动程序时,IRQL会不会突然变为DISPATCH_LEVEL,然后导致系统崩溃?如果这不可能,那么

windows - C# 当托管线程结束其时间片时,它会引发上下文切换吗?

在Russinovich的书中它说线程(注意:这是关于OS线程)将需要分派(dispatch)(调度)如果它a)准备好b)结束它的时间片、产量或block。我的C#实时应用程序中有一个托管线程,对于实现尽可能少的上下文切换非常重要。此线程具有最高优先级,进程具有实时优先级,这使得我的线程操作系统优先级为31中的26。当我的线程结束其时间片并且没有优先级>=26的等待线程时,我的线程会发生什么?是否会有上下文切换来重新安排我的线程再次运行,或者将避免上下文切换并且线程将不间断地运行?如果有上下文切换-谁能告诉平均需要多少CPU周期?我希望得到简单且明确的答案!谢谢!

.net - 为什么 .NET 应用程序会阻止 Windows 关闭?

我的一个应用程序会阻止Windows在运行时关闭。我唯一怀疑原因可能是FormClosing事件处理程序,但它是非常标准的:编辑:删除此处理程序根本不会改变情况,因此原因在其他地方。privatevoidMainForm_FormClosing(objectsender,FormClosingEventArgse){if(e.CloseReason!=CloseReason.UserClosing){StopAllThreads();//letclosereturn;}//askuserwhetherhewantstosavehiswork}我无法使用仅包含此FormClosing处理

c# - 如何从 C#、Process.Start ("shutdown"关闭)在 Windows XP 中不起作用

在研究了如何从C#中重置我的计算机和/或关闭它之后,我找到了关于如何执行此操作的解释:ManagementBaseObjectoutParameters=null;ManagementClasssysOS=newManagementClass("Win32_OperatingSystem");sysOS.Get();//Enablesrequiredsecurityprivilege.sysOS.Scope.Options.EnablePrivileges=true;//GetourinparametersManagementBaseObjectinParameters=sysOS.G